#!/bin/sh
# vim: set sw=4 ts=4 et:
VER="1"
USO="$0 [-h|--help|?] arquivo"
MAX=100


_help(){
    cat << fim
$0 -- renomeação seriada de arquivos
uso: $USO
opções: -h --help ? nome_do_arquivo

exemplo: $0 arq = Isto irah renomeiar todos os arquivos
    que começam. o arq -> arq.1, arq.1 -> arq.2 e criar um novo arq
    vazio.

version: $ver
limite: $MAX
fim
   exit 0
}

_error()
{
    echo "$1"
    exit 1
}

while [ -n "$1" ]; do
case $1 in
    -h|--help|?) _help;shift 1;;
    --) break;;
    -*) echo "erro: no such option $1. -h for help";exit 1;;
     *) break;;
esac
done


# verificação de input:
if [ -z "$1" ] ; then
 _error "ERRO: têm de especificar um arquivo, utiliza -h para ajuda"
fi
filen="$1"

# renomeia qualquer arquivos .1, .2, .3, etc:
for ((n=$MAX; n>=0; n--)); do 
    if [ -f $filen.$n ]; then 
        p=`expr $n + 1`; 
        echo "mv $filen.$n $filen.$p"; 
        mv $filen.$n $filen.$p; 
    fi; 
done

# renomeia o ficheiro original:
if [ -f "$filen" ]; then
   echo "mv $filen $filen.1"
   mv $filen $filen.1
   #echo checkpoint2
fi
#echo touch $filen
touch $filen
